/* Es wird ein JPanel erzeugt  das
 * dann in das Dashboard eingebunden wird.
 *  
 * 
 * Datei: LogoutGUI.java           Autor: Johannes Reinhard
 * Datum: 04.11.2011               Version: 0.2 
 * 
 */
package GUI;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class LogoutGUI
{
  private JPanel hauptJPanel;          /* Haupt JPanel */
  private Dashboard sichereDashboard;  /* Objekt Dashboard*/

  /**
   * Konstruktor der Klasse LogoutGUI
   * @param bord
   */
  protected LogoutGUI (Dashboard bord)
  {	  	
    sichereDashboard = bord;
    ausloggen ();
  }
  
  /**
   * Gibt das hauptJPanel zurueck
   * @return JPanel
   */
  protected JPanel getHauptJPanel ()
  {		
    return hauptJPanel;
  }
  
  /**
   * Wenn sich nutzer Ausloggen will.
   */ 
  private void ausloggen ()
  {
    hauptJPanel = new JPanel ();
    int eingabe = JOptionPane.showConfirmDialog(null,
	Dashboard.sprache.lokal.gibUebersetzung ("Logout"), "Logout", 
	JOptionPane.YES_NO_OPTION);
    if (eingabe == JOptionPane.YES_OPTION)
    {
      /* Wenn Nutzer sich ausloggen will. */
      AuthentifizierungsGUI authe = 
	  new AuthentifizierungsGUI (sichereDashboard);
      hauptJPanel = authe.getHauptJPanel ();
      sichereDashboard.persVer.datenSpeichern ();
    }
  	
    /* Alle offenen Fenster sollen geschlossen werden
       wenn der Benutzer sich ausloggt */
    try
    {
      sichereDashboard.frameProfil.dispose ();
      ProfilGUI.schliessen = true;
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameStatistik.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.simulationMedien.schliessen ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.fassade.schliesseBibVis ();
      sichereDashboard.frameBibVis.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameAnschaffung.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameInventar.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameBestellung.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameFinanzen.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      PersonVerwaltenGUI.geoeffnet = true;
      sichereDashboard.framePerson.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    try
    {
      sichereDashboard.frameSuche.dispose ();
    }
    catch (NullPointerException e)
    {
      /* Wenn Fenster nicht geoeffnet, dann tue nichts. */
    }
    
  }
}
